package org.jeecg.modules.innerApi.zhiYunSdApi.service;

import org.jeecg.modules.innerApi.common.requestDto.*;
import org.jeecg.modules.innerApi.common.responseDto.*;
import org.jeecg.modules.innerApi.zhiYunSdApi.requestVo.SdFjxxBusinessParam;
import org.jeecg.modules.innerApi.zhiYunSdApi.requestVo.SdHqsfxyrlsbrc120Param;
import org.jeecg.modules.innerApi.zhiYunSdApi.responseVo.*;
import org.jeecg.modules.xxgx.hzsqgl.vo.CsXxHzsqjsPage;

/**
 * 新时代智云数电开票接口
 */
public interface IZhiyunSdfpService {

    /***
     * 数电发票开具
     * 开具发票专票、普票、电子发票
     * @params 待开票报文
     */
    InvoiceRtn invoice(InvoiceParam invoiceParam);

    /**
     * 电票登录
     * @param dpdlParam
     * @return
     */
    DpdlRtn login(DpdlParam dpdlParam);

    /**
     * 获取是否需要人脸识别
     * @param faceImgParam
     * @return
     */
    SdHqsfxyrlsbcc120Rtn getFaceState(SdHqsfxyrlsbrc120Param faceImgParam);

    /**
     * 获取人脸二维码
     * @param faceImgParam
     * @return
     */
    FaceImgRtn getFaceImg(FaceImgParam faceImgParam);

    /**
     * 获取授信额度
     * @param nsrsbh
     * @param commonParam
     * @return
     */
    CreditRtn getCreditLine(String nsrsbh,CommonParam commonParam);

    /**
     * 企业风险查询
     * @param dpdlParam
     * @return
     */
    SdQyfxcxcc116Rtn getCompanyFxcx(DpdlParam dpdlParam);
    /**
     * 申请全电票红字信息表
     * @param param
     * @return
     */
     SdSqqdphzxxbcc13Rtn hzxxbsq(CsXxHzsqjsPage page, CommonParam param);
    /**
     * 红字信息表同步
     * @param param
     * @return
     */
     CommonRtn hzxxbtb(HzxxbtbParam param);
    /**
     * 红字信息表确认
     * @param param
     * @return
     */
     CommonRtn hzxxbNotarize(QdpHzxxbqrParam param);
    /**
     * 红字信息表撤销
     * @param param
     * @return
     */
     CommonRtn hzxxbcx(HzxxbcxParam param);
    /**
     * 查询红字信息表
     * @param param
     * @return
     */
    SdCxhzxxbcc112Rtn queryHzxxb(HzxxbtbParam param);

    /**
     * 全电票开负数发票
     * @param param
     * @return
     */
    SdQdpkfsfpcc14Rtn hzfpkj(HzfpkjParam param);
    /***
     * 获取数电纸质发票当前发票号、发票代码
     *
     * @params param
     */
    CurrentFphmRtn getCurrentFphm(CurrentFphmParam param);

    /**
     * 获取版式文件
     * @param param
     * @return
     */
    SdHqbswjcc15Rtn getInvoicePdfOfd(QdbsxzParam param);

    /**
     * 查询可修复的发票数据
     * @param param
     * @return
     */
    SdCxkxfdfpsjcc121Rtn cxkxffp(FpxfParam param);

    /**
     * 附加信息业务
     * @param param
     * @return
     */
    SdFjxxBusinessRtn fjxxBusiness(SdFjxxBusinessParam param);
    SdFjxxQueryBusinessRtn fjxxQueryBusiness(SdFjxxBusinessParam param);
}
